package com.yunxin.admin.system.application.dto;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yunxin.admin.system.infra.persistence.entity.SysRoleDO;
import com.yunxin.core.application.command.user.AddUserTeamCommand;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.Pattern;
import lombok.Data;
import com.yunxin.core.domain.model.team.Team;

import java.util.Date;
import java.util.List;

/**
 * 用户表单对象
 *
 * @author zero°
 * @since 2023-05-22
 */
@Schema(description = "用户表单对象")
@Data
public class UserDetailDTO {

    @Schema(description = "用户ID")
    private Long id;

    @Schema(description = "用户名")
    private String username;

    @Schema(description = "用户昵称")
    private String nickname;

    @Schema(description = "手机号")
    private String mobile;

    @Schema(description = "性别")
    private String genderLabel;

    @Schema(description = "用户头像地址")
    private String avatar;

    @Schema(description = "用户邮箱")
    private String email;

    @Schema(description = "用户状态(1:启用;0:禁用)")
    private Integer status;

    @Schema(description = "用户类型 1.系统用户 2.商户用户")
    private Integer userType;

    @Schema(description = "部门名称")
    private String deptName;


    private List<SysRoleDO> roles;

    private List<Team> teams;

    @Schema(description = "创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date createTime;

    @Schema(description="团队信息")
    private List<AddUserTeamCommand> userTeamCommands;


//    private Integer teamId;
    /**
     * 接单状态是否启用 0.禁用 1.启用
     */
    private Integer receivingStatusOpen;
    /**
     * 接单状态 0.关闭 1.开启
     */
    private Integer receivingStatus;

    private Integer isWhechat;

    //微信手机号
    private String whechatMobile;

}
